﻿using System;

namespace LAPI.Business.Acciones
{
    /// <summary>
    /// Clase para realizar la acción: Obtener el valor booleano del campo 'luz'
    /// </summary>
    public class AccGetLuzPista
    {
        /// <summary>
        /// Logger de la clase
        /// </summary>
        private LAPI.Core.Logging.ILogger logger;

        /// <summary>
        /// Constructor
        /// </summary>
        public AccGetLuzPista()
        {
            logger = LAPI.Core.Logging.LoggerFactory.CreateLogger(type: typeof(AccGetLuzPista));
        }

        /// <summary>
        /// Método para obtener el valor booleano del campo 'luz'
        /// <p>
        /// El método realiza las siguientes funciones:
        /// <ul>
        /// <li>Obtiene el valor del campo 'luz' que corresponde a esta pista, en la base de datos</li>  
        /// </ul>
        /// </p>
        /// </summary>
        /// <param name="datosPista">Modelo con los datos de la pista</param>
        /// <returns>Boolean, con el valor del campo. </returns>
        /// <seealso cref="Pista"/>
        /// <seealso cref="GestorPistas"/>
        public Boolean GetLuzPista(LAPI.Data.Model.Pista datosPista)
        {
            logger.Debug("[GetLuzPista] Comienzo");
            logger.Debug("[GetLuzPista] Datos:" + datosPista);

            Boolean result;
            try
            {
                Gestores.GestorPistas oGestor = new Gestores.GestorPistas();
                var datos = oGestor.ObtenerPorID(IdPista: datosPista.idPista, IdCentroDeportivo: datosPista.idCentroDeportivo);

                result = datos.luz;
            }
            catch (Exception ex)
            {
                logger.Error(ex);

                result = false;
            }
            logger.Debug("[GetLuzPista] Fin");

            return result;
        }
    }
}
